<!--
	function initTimeAndDate() {
		showTimeAndDate();
		window.setInterval(function() {runTimeAndDate()}, 1000);
	}

	function showTimeAndDate() {
		// time string
		var hours = serverDate.getHours();
		var minutes = serverDate.getMinutes();
		var seconds = serverDate.getSeconds();

		var timeString = hours;
		timeString += ((minutes < 10) ? ":0" : ":") + minutes;
		timeString += ((seconds < 10) ? ":0" : ":") + seconds;
		var timeLocation = document.getElementById("time");
		timeLocation.textContent = timeString; // for mozilla
		timeLocation.innerText = timeString;   // for IE

		// date string
		var day = serverDate.getDate();
		var month = serverDate.getMonth() + 1;
		var year = serverDate.getFullYear();
                var week_day;
                switch (serverDate.getDay()) {
                    case 0: {week_day = "nedeľa";break;}
                    case 1: {week_day = "pondelok";break;}
                    case 2: {week_day = "utorok";break;}
                    case 3: {week_day = "streda";break;}
                    case 4: {week_day = "štvrtok";break;}
                    case 5: {week_day = "piatok";break;}
                    case 6: {week_day = "sobota";break;}
                }

		var dateString = day + "." + month + "." + year + " (" + week_day + ")";
		var dateLocation = document.getElementById("date");
		dateLocation.textContent = dateString; // for mozilla
		dateLocation.innerText = dateString;   // for IE
	}

	function runTimeAndDate() {
		// increase server time by 1 second
		serverDate.setMilliseconds(serverDate.getMilliseconds()+1000);

		showTimeAndDate();
	}

        function showMenu(elementId) {
            document.getElementById(elementId).style.visibility="visible";
        }

        function hideMenu(elementId) {
            document.getElementById(elementId).style.visibility="hidden";
        }
        
        function changePassword() {
            var oldPassword = document.passwordChangeForm.old_password.value;
            var newPassword = document.passwordChangeForm.new_password.value;
            var reNewPassword = document.passwordChangeForm.re_new_password.value;
            
            document.passwordChangeForm.reset();
            
            if (oldPassword == "" || newPassword == "" || reNewPassword == "") {
                alert("Musia byť vyplnené všetky tri polia s heslom!");
                return;
            }
            if (newPassword != reNewPassword) {
                alert("Nové heslá sa nezhodujú! Pokúste sa zadať heslá znovu.");
                return;
            }
            if (newPassword == oldPassword) {
                alert("Nové heslo sa nesmie zhodovať s pôvodným, zvoľte iné nové heslo.");
                return;
            }
            
            document.passwordChangeSubmitForm.oldPassword.value = encrypt(oldPassword);
            document.passwordChangeSubmitForm.newPassword.value = encrypt(newPassword);
            document.passwordChangeSubmitForm.submit();
        }
                
        function removeMessage(messageId, sortType) {
            if (confirm('Chcete skutočne zmazať správu?')) {
                if (sortType == 'null') {
                    window.location='?content=deleteMessage&messageId=' + messageId;
                } else {
                    window.location='?content=deleteMessage&messageId=' + messageId + '&sort=' + sortType;
                }
            }
        }
        
        function removeNotice(noticeId, classId) {
            if (confirm('Chcete skutočne zmazať oznam?')) {
                window.location='?content=deleteNotice&noticeId=' + noticeId + '&classId=' + classId;
            }
        }
        
        function addNotice() {
            if (document.newNoticeForm.text.value == "") {
                alert('Musíte zadať obsah oznamu!');
            } else {
                document.newNoticeForm.submit();
            }
        }
        
        function removeTutorageAllTutorages(tutorageId) {
            if (confirm('Chcete skutočne zmazať inzerát?')) {
                window.location='?content=deleteTutorage&tutorageId=' + tutorageId + '&redirectTo=all';
            }
        }
    
        function removeTutorageMyTutorages(tutorageId) {
            if (confirm('Chcete skutočne zmazať inzerát?')) {
                window.location='?content=deleteTutorage&tutorageId=' + tutorageId + '&redirectTo=my';
            }
        }
        
        function addAbsence() {
            if (document.reportAbsenceForm.fromUnit.value > document.reportAbsenceForm.toUnit.value) {
                alert('Začiatočná hodina musí byť menšia alebo rovná koncovej hodine!');
                return;
            }
            
            var datePattern = new RegExp('[0-9][0-9]\\.[0-9][0-9]\\.[0-9][0-9][0-9][0-9]', '');
            var date = document.reportAbsenceForm.date.value;
            if (!datePattern.test(date)) {
                alert('Dátum musí byť zapísaný vo formáte dd.mm.yyyy!');
                return;
            }

            document.reportAbsenceForm.submit();
        }
        
        function addAbsenceAsAdmin() {
            if (document.reportAbsenceAsAdminForm.fromUnit.value > document.reportAbsenceAsAdminForm.toUnit.value) {
                alert('Začiatočná hodina musí byť menšia alebo rovná koncovej hodine!');
                return;
            }
            
            var datePattern = new RegExp('[0-9][0-9]\\.[0-9][0-9]\\.[0-9][0-9][0-9][0-9]', '');
            var date = document.reportAbsenceAsAdminForm.date.value;
            if (!datePattern.test(date)) {
                alert('Dátum musí byť zapísaný vo formáte dd.mm.yyyy!');
                return;
            }

            document.reportAbsenceAsAdminForm.submit();
        }
        
        function removeAbsence(absenceId) {
            if (confirm('Chcete skutočne zrušiť absenciu (a tým aj nastavené suplovania) ?')) {
                window.location='?content=deleteAbsence&absenceId=' + absenceId;
            }
        }
        
        function saveGrades() {
            var pattern = new RegExp('[^12345,podsi\\s]', '')
                
            var grades = '';
                
            var textareas = document.getElementsByTagName('textarea');
            var textarea;
            for (i = 0; i < textareas.length; i++) {
                textarea = textareas[i];
                gradebookId = textarea.getAttribute('name');
                gradebookGrades = textarea.value;
                // trim
                gradebookGrades = trim(gradebookGrades);
                    
                if (pattern.test(gradebookGrades)) {
                    alert('Známky smú obsahovať len medzery, čiarky a znaky \n\'1\', \'2\', \'3\', \'4\', \'5\', \'p\', \'o\', \'d\', \'s\', \'i\'\ !');
                    return;
                }
                    
                grades = grades + gradebookId + 'G' + gradebookGrades + 'X';
            }
            
            
            if (confirm('Určite chcete zapísať známky?')) {    
                document.gradebookSubmitForm.grades.value = grades;                
                document.gradebookSubmitForm.submit();
            }
        }
        
        function setSubjectEditEnabled(button) {
            button.form.editSubjectButton.removeAttribute("disabled");
        }
        
        function addSubject() {
            if (document.addSubjectForm.subjectName.value == "") {
                alert('Musíte vyplniť názov predmetu!');
                return;
            }
            document.addSubjectForm.subjectName.value = trim(document.addSubjectForm.subjectName.value);
            document.addSubjectForm.submit();
        }
        
        function editSubject(button) {
            var form = button.form;
            if (form.subjectName.value == "") {
                alert('Musíte vyplniť názov predmetu!');
                return;
            }
            form.subjectName.value = trim(form.subjectName.value);
            window.location = '?content=editSubject&subjectId=' + form.subjectId.value + 
                '&subjectName=' + button.form.subjectName.value + '&yearClass=' + button.form.yearClass.value;
        }
        
        function removeSubject(button) {
            var form = button.form;
            var confirmString = 'Odstráni tiež naviazané žiacke knižky, študentské doučovania, pridelenia do tried, ' + 
                                'rozvrhové jednotky a pridelenia učiteľom.\nUrčite chcete odstrániť predmet?';
            if (confirm(confirmString)) {
                window.location = '?content=deleteSubject&subjectId=' + form.subjectId.value;
            }
        }
        
        function addClass() {
            if (document.addClassForm.className.value == "") {
                alert('Musíte vyplniť názov triedy!');
                return;
            }
            document.addClassForm.className.value = trim(document.addClassForm.className.value);
            document.addClassForm.submit();
        }
        
        function startClassEditing(classId) {
            var alertString = 'Upozornenie: Odobratie pridelených predmetov triedy spôsobí odstránenie rozvrhových jednotiek a tiež ' +
                              'žiackych knižiek (a teda stratu známok) jej študentov pre tieto predmety.';
            alert(alertString);
            window.location = '?content=classes&classId=' + classId;
        }
        
        function uncheckAllSubjects(button) {
            var form = button.form;
            var checkBoxes = form.elements['subjectId'];
	
            var countCheckBoxes = checkBoxes.length;
            
            for (var i = 0; i < countCheckBoxes; i++) {
                checkBoxes[i].checked = false;
            }
        }
        
        function editClass() {
            if (document.editClassForm.className.value == "") {
                alert('Musíte vyplniť názov triedy!');
                return;
            }
            
            document.editClassForm.className.value = trim(document.editClassForm.className.value);
            document.editClassForm.submit();
        }
        
        function removeClass(classId) {
            var confirmString = 'Odstráni tiež naviazané rozvrhové jednotky, nástenku a pridelenia predmetov.\n' + 
                                'Trieda nesmie mať priradených žiadnych študentov.\nUrčite chcete odstrániť triedu?';
            if (confirm(confirmString)) {
                window.location = '?content=deleteClass&classId=' + classId;
            }
        }
        
        function addTeacher() {
            if (document.addTeacherForm.firstName.value == "" || document.addTeacherForm.lastName.value == "") {
                alert('Musíte vyplniť meno a priezvisko učiteľa!');
                return;
            }
            document.addTeacherForm.firstName.value = trim(document.addTeacherForm.firstName.value);
            document.addTeacherForm.lastName.value = trim(document.addTeacherForm.lastName.value);
            document.addTeacherForm.submit();
        }
        
        function startTeacherEditing(teacherId) {
            var alertString = 'Upozornenie: Odobratie pridelených predmetov učiteľa spôsobí odstránenie rozvrhových jednotiek ' +
                              'pre tieto predmety.';
            alert(alertString);
            window.location = '?content=editTeacherForm&teacherId=' + teacherId;
        }
        
        function editTeacher() {
            if (document.editTeacherForm.firstName.value == "" || document.editTeacherForm.lastName.value == "") {
                alert('Musíte vyplniť meno a priezvisko učiteľa!');
                return;
            }
            
            document.editTeacherForm.firstName.value = trim(document.editTeacherForm.firstName.value);
            document.editTeacherForm.lastName.value = trim(document.editTeacherForm.lastName.value);
            document.editTeacherForm.submit();
        }
        
        function removeTeacher(teacherId) {
            var confirmString = 'Odstráni tiež učiteľove príspevky na nástenkách tried, správy, suplovania a rozvrhové jednotky.\n' +
                                'Určite chcete odstrániť učiteľa?';
            if (confirm(confirmString)) {
                window.location = '?content=deleteTeacher&teacherId=' + teacherId;
            }
        }
        
        function addStudent() {
            if (document.addStudentForm.studentFirstName.value == "" || document.addStudentForm.studentLastName.value == "" ||
                document.addStudentForm.parentFirstName.value == "" || document.addStudentForm.parentLastName.value == "") {
                alert('Musíte vyplniť meno a priezvisko študenta aj jeho rodiča!');
                return;
            }
            document.addStudentForm.studentFirstName.value = trim(document.addStudentForm.studentFirstName.value);
            document.addStudentForm.studentLastName.value = trim(document.addStudentForm.studentLastName.value);
            document.addStudentForm.parentFirstName.value = trim(document.addStudentForm.parentFirstName.value);
            document.addStudentForm.parentLastName.value = trim(document.addStudentForm.parentLastName.value);
            document.addStudentForm.submit();
        }
        
        function startStudentEditing(studentId) {
            var alertString = 'Upozornenie: Preradenie študenta do inej triedy spôsobí odstránenie jeho žiackej knižky (a teda aj známok) ' +
                              'z pôvodnej triedy, ak sa v novej triede odpovedajúce predmety neučia.';
            alert(alertString);
            window.location = '?content=editStudentForm&studentId=' + studentId;
        }
        
        function editStudent() {
            if (document.editStudentForm.studentFirstName.value == "" || document.editStudentForm.studentLastName.value == "" ||
                document.editStudentForm.parentFirstName.value == "" || document.editStudentForm.parentLastName.value == "") {
                alert('Musíte vyplniť meno a priezvisko študenta aj jeho rodiča!');
                return;
            }
            document.editStudentForm.studentFirstName.value = trim(document.editStudentForm.studentFirstName.value);
            document.editStudentForm.studentLastName.value = trim(document.editStudentForm.studentLastName.value);
            document.editStudentForm.parentFirstName.value = trim(document.editStudentForm.parentFirstName.value);
            document.editStudentForm.parentLastName.value = trim(document.editStudentForm.parentLastName.value);
            document.editStudentForm.submit();
        }
        
        function removeStudent(studentId) {
            var confirmString = 'Odstráni tiež študentove známky, správy a doučovania.\nUrčite chcete odstrániť študenta?';
            if (confirm(confirmString)) {
                window.location = '?content=deleteStudent&studentId=' + studentId;
            }
        }
        
        function trim(string) {
            return string.replace(/^\s+|\s+$/g, "");
        }
        
        function removeTimetableOfClass(classId) {
            var confirmString = 'Odstráni všetky rozvrhové jednotky triedy.\nUrčite chcete odstrániť rozvrh?';
            if (confirm(confirmString)) {
                window.location = '?content=deleteTimetable&classId=' + classId;
            }
        }
        
        function importTimetableOfClass(button) {
            var form = button.form;
            if (form.file.value == "") {
                alert('Musíte vybrať súbor!');
            } else {
                var confirmString = 'Odstráni najprv všetky rozvrhové jednotky triedy.\nUrčite chcete odstrániť pôvodný rozvrh?';
                if (confirm(confirmString)) {
                    form.submit();
                }
            }
        }
        
        function logIn() {
            if (document.loginForm.username.value == "" || document.loginForm.password.value == "") {
                alert("Polia Prihlasovacie meno a Heslo musia byť vyplnené!");
                document.loginForm.reset();
            } else {
                document.loginSubmitForm.username.value = trim(document.loginForm.username.value);
                document.loginForm.username.value = "";
                
                var plainPassword = trim(document.loginForm.password.value);
                document.loginSubmitForm.password.value = encrypt(plainPassword);
                
                document.loginSubmitForm.submit();
            }
        }
        
        // taken from http://www.webtoolkit.info/javascript-md5.html
        function encrypt(string) {
 
            function RotateLeft(lValue, iShiftBits) {
                return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
            }
 
            function AddUnsigned(lX,lY) {
		var lX4,lY4,lX8,lY8,lResult;
		lX8 = (lX & 0x80000000);
		lY8 = (lY & 0x80000000);
		lX4 = (lX & 0x40000000);
		lY4 = (lY & 0x40000000);
		lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
		if (lX4 & lY4) {
                    return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
		}
		if (lX4 | lY4) {
                    if (lResult & 0x40000000) {
                        return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
                    } else {
			return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
                    }
		} else {
                    return (lResult ^ lX8 ^ lY8);
		}
            }
 
            function F(x,y,z) {return (x & y) | ((~x) & z);}
            function G(x,y,z) {return (x & z) | (y & (~z));}
            function H(x,y,z) {return (x ^ y ^ z);}
            function I(x,y,z) {return (y ^ (x | (~z)));}
 
            function FF(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
            };
 
            function GG(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
            };
 
            function HH(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
            };
 
            function II(a,b,c,d,x,s,ac) {
		a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
		return AddUnsigned(RotateLeft(a, s), b);
            };
 
            function ConvertToWordArray(string) {
		var lWordCount;
		var lMessageLength = string.length;
		var lNumberOfWords_temp1=lMessageLength + 8;
		var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
		var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
		var lWordArray=Array(lNumberOfWords-1);
		var lBytePosition = 0;
		var lByteCount = 0;
		while ( lByteCount < lMessageLength ) {
                    lWordCount = (lByteCount-(lByteCount % 4))/4;
                    lBytePosition = (lByteCount % 4)*8;
                    lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
                    lByteCount++;
		}
		lWordCount = (lByteCount-(lByteCount % 4))/4;
		lBytePosition = (lByteCount % 4)*8;
		lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
		lWordArray[lNumberOfWords-2] = lMessageLength<<3;
		lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
		return lWordArray;
            };
 
            function WordToHex(lValue) {
		var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
		for (lCount = 0;lCount<=3;lCount++) {
                    lByte = (lValue>>>(lCount*8)) & 255;
                    WordToHexValue_temp = "0" + lByte.toString(16);
                    WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
		}
		return WordToHexValue;
            };
 
            function Utf8Encode(string) {
                string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
                    var c = string.charCodeAt(n);
 
                    if (c < 128) {
                        utftext += String.fromCharCode(c);
                    }
                    else if((c > 127) && (c < 2048)) {
                        utftext += String.fromCharCode((c >> 6) | 192);
			utftext += String.fromCharCode((c & 63) | 128);
                    }
                    else {
                        utftext += String.fromCharCode((c >> 12) | 224);
			utftext += String.fromCharCode(((c >> 6) & 63) | 128);
			utftext += String.fromCharCode((c & 63) | 128);
                    }
 
		}
 
		return utftext;
            };
 
            var x=Array();
            var k,AA,BB,CC,DD,a,b,c,d;
            var S11=7, S12=12, S13=17, S14=22;
            var S21=5, S22=9 , S23=14, S24=20;
            var S31=4, S32=11, S33=16, S34=23;
            var S41=6, S42=10, S43=15, S44=21;
 
            string = Utf8Encode(string);
 
            x = ConvertToWordArray(string);
 
            a = 0x67452301;b = 0xEFCDAB89;c = 0x98BADCFE;d = 0x10325476;
 
            for (k=0;k<x.length;k+=16) {
		AA=a;BB=b;CC=c;DD=d;
		a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
		d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
		c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
		b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
		a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
		d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
		c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
		b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
		a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
		d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
		c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
		b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
		a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
		d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
		c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
		b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
		a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
		d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
		c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
		b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
		a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
		d=GG(d,a,b,c,x[k+10],S22,0x2441453);
		c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
		b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
		a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
		d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
		c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
		b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
		a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
		d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
		c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
		b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
		a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
		d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
		c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
		b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
		a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
		d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
		c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
		b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
		a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
		d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
		c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
		b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
		a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
		d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
		c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
		b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
		a=II(a,b,c,d,x[k+0], S41,0xF4292244);
		d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
		c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
		b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
		a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
		d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
		c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
		b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
		a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
		d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
		c=II(c,d,a,b,x[k+6], S43,0xA3014314);
		b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
		a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
		d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
		c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
		b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
		a=AddUnsigned(a,AA);
		b=AddUnsigned(b,BB);
		c=AddUnsigned(c,CC);
		d=AddUnsigned(d,DD);
            }
 
            var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);
 
            return temp.toLowerCase();
        }

//-->